The Global Positioning System (GPS) as now being implemented utilizes a number of satellites in precise orbits that broadcast navigational information that may be used by anyone with a proper GPS satellite receiver. This so-called navigational information is also useful to surveyors and the like because it can provide accurate position information concerning any point on the globe. Each satellite in the GPS system broadcasts with the same carrier frequency and each broadcast signal includes an individual code that serves to identify the particular satellite. The codes are generally long and are made up of a pattern of 1's and 0's that repeats over long time periods relative to the data rate. A complete study and report on GPS signals has been published by J. J. Spilker, Jr., "GPS Signal Structure and Performance Characteristics", Navigation, 1980. In addition, the basic methods and techniques of GPS are also represented by J. J. Spilker, Jr. in his book "Digital Communications by Satellite", Prentice Hall, Inc. 1977.
Radio receivers for the GPS navigation data bit stream are commonly referred to as correlation receivers and examples of such receivers are described in U.S. Pat. No. 4,754,465 ("465 patent") to Charles Trimble, and assigned to the assignee of the present application. The disclosure of the '465 patent is incorporated herein by reference. Correlation receivers are typically employed because they are designed for situations typically encountered in satellite broadcasting where the strength of the GPS signal is quite weak compared to the noise level. The relative signal level is low at least in part because the receiver must use a wide-angle antenna, which has very low gain, due to the system constraint of having to listen to a number of satellites that might be located anywhere in the sky.
In order to boost the weak signal without also amplifying the noise, it is the practice to use spread spectrum modulation in GPS satellite systems. The spread spectrum technique modulates the satellite transmission by the individual satellite identification code, and this has the effect of spreading the satellite signal over a bandwidth that is determined by the reciprocal of the pulse width. Conversely, the receiver multiplies the signal received on the ground by a replica of the individual satellite code, and this kind of demodulation is generally known as correlation. A typical spread spectrum receiver is described in U.S. Pat. No. 4,965,759 to Uchida et al. Spread spectrum systems in general are more fully described by R. C. Dixon, "Spread Spectrum Systems", J. Wiley & Sons, Inc., 1976.
A particular advantage of using spread spectrum modulation is that it allows the time of arrival of the transmitted signal to be determined by the receiver. This time-of-arrival measurement is the cornerstone of the satellite-based GPS system and is used to calculate the "pseudo-range", which is the first-cut estimate of the distance between the receiver and a GPS satellite.
Determining the time of arrival of a signal requires the recognition of at least a portion of the incoming signal and a comparison of the time of arrival of the incoming signal with the time that it was known to have been transmitted. This measurement is made by aligning the incoming code and the local code using a code tracking loop. Such code tracking loop adjusts the delay time of one code with respect to the other and tries to minimize the time difference between the incoming and local codes. The time-of-arrival measurement is then based on the current local code delay time as measured by the local clock relative to the known time when the incoming signal was transmitted. When this delay time is multiplied by the signal propagation speed, which is assumed to be the speed of light, the path length is derived. As mentioned above, this path length is referred to as the pseudo-range because the local clock is not in perfect synchronism with the transmitter clock. Further, any errors affecting the code tracking loop will also directly affect the time-of-arrival measurement.
As mentioned above, a correlation receiver typically demodulates the spread spectrum signal by multiplying the incoming signal with a locally generated replica of the spread spectrum code. The operation of multiplying the local code and the incoming signal to produce measurable signal power at the receiver requires that the local code and the incoming code be aligned with each other to be within one cycle of the code clocking rate. This one cycle at the clocking rate is also referred to as a "chip". If the two codes are within one chip of each other, some measurable signal power will be observed at the output of the receiver correlator, and the closer the two codes are aligned, the greater is the power that will be observed. The relationship of the delay time between the two codes to the amount of signal power observed at the output of the correlation operation is called the autocorrelation function (AF). It will be appreciated that peak received power will be detected when the two codes are perfectly aligned in time. The autocorrelation function is generally observed as a series of correlation spikes output from a matched filter in the correlator circuit. This type of receiver is commonly known as a "matched filter" receiver. By keeping the local code phase synchronous with the code phase of the received signal, optimum detection of the modulation is accomplished, and from this optimized detection the time-of-arrival of the signal is determined. Through subsequent calculations, the latitude, longitude, and height of the receiver can be determined.
The ideal autocorrelation function between two spread spectrum codes is shown by the spike 10 in FIG. 1. This correlation spike represents the voltage output of a correlating receiver as a function of the relative shift in time between the two correlating codes. Therefore, the maximum voltage at the output of the correlator, as shown at the peak 10a in FIG. 1 will be ideally detected when the two codes are in perfect alignment.
The true autocorrelation function in a real receiver is, however, somewhat different from the ideal and is shown by the curve 12 in FIG. 1. As will be noted, the peak of the curve 12 is not sharp, and the leading and trailing slopes from the peak are not straight. This rounding of the ideal triangular shape is caused by the use of finite-bandwidth filters in the receiver prior to correlation. This rounding has been found to be significant in determining and compensating for multipath effects, described in detail below.
The basic elements of a typical correlation receiver are shown in FIG. 2. The incoming spread spectrum signal is received by an antenna and low noise amplifier 20 and is mixed to baseband in a mixing stage 22 by a locally generated carrier signal from a local oscillator 24. This mixing is performed in mixing stage 22 so that quadrature signals (Q), as well as in-phase signals (I), are available at baseband to facilitate carrier tracking. Both the quadrature and in-phase baseband signals (Q and I) after the mixing are still binary phase-shift keyed (BPSK) modulated by the spreading code and by any lower modulation rate information that might be included in the satellite transmitted signal. For example, in the Global Positioning System the baseband signals contain a coarse/acquisition (C/A) spreading code having a clock rate of 1.023 MHz and a precision (P) spreading code having a clock rate of 10.23 MHz, as well as a lower rate 50 baud data bit stream. The local oscillator 24 output signal also drives a code clock generator 26 having an output signal fed to a local code generator 28 that generates the local code signal fed to the correlators 30. The correlators 30 then do correlation calculations between the local code and the baseband signals and the correlation output signal is fed to a microprocessor 32 for performing the necessary time-of-arrival calculations. The microprocessor 32 also controls the timing of the local oscillator 24 and code clock generator 26, as well as telling the local code generator 28 which individual code to generate.
Determination of the optimum local code delay time requires a feedback technique that either minimizes some error signal based on the difference between the local code and the incoming code or that maximizes the autocorrelation function (AF). Because the signals are so weak, it has generally been the case to elect to use a differencing technique involving the use of "early-late" gates instead of looking for a maximum of the autocorrelation function. This early-late gate approach relies upon the fact that the ideal, uncorrupted autocorrelation function is symmetrical around its peak, the peak being representative of the point in time where the codes are perfectly synchronized. Correlation receivers then have heretofore attempted to locate the peak in time of the autocorrelation function, because this point represents perfect code alignment.
Typically, measurement of the degree of correlation between the incoming code and the local code is performed at three distinct points on the autocorrelation function. These correlation points are:
the punctual (P) point, where voltage output is maximized due to perfect alignment of the two codes; PA1 the early (E) point, which represents voltage output when the two codes are approaching alignment and are about 1/2 chip out of alignment, i.e., where the local code is advanced by 1/2 chip with respect to the incoming code; and PA1 the late (L) point, which represents voltage output when the two codes are receding from alignment, i.e., where the local code is delayed by 1/2 chip with respect to the incoming code. Only one time offset is used to shift all three correlators synchronously. In other words, the time shifts of the correlators are not independent of one another.
The early-late gate method begins by measuring the autocorrelation function and establishing a sample voltage level, and in doing this the receiver samples the autocorrelation function at the beginning of the -1 bit time interval, shown as the i.sup.th sample interval in FIG. 4. The microprocessor easily can keep track of successive samples and so samples that are one chip interval apart are subtracted from one another. The later time sample, the "late" gate, is shown as the k.sup.th interval in FIG. 4 and is subtracted from the early time sample, the "early" gate, resulting in a well-known control function that can be used to drive the local code chip time delay so that the local code is synchronized with the incoming code. This early-late gate error function is shown in FIG. 5 at curve 80 relative to the autocorrelation function shown as curve 82. As the early-late gate sampling function 80 progresses in time, i.e. is shifted in time to the right on the graph of FIG. 5, the difference between the early and late voltages diminishes, and when that difference (the error function) equals zero volts the peak of the autocorrelation function is found and the local code is synchronized with the incoming code. This occurs at 21 time units in the specific example shown in FIG. 5.
Thus, the early-late gate method in effect drives the error voltage to zero, measures the offset in code phase relative to a local clock, and derives an estimate of the time-of-arrival of the incoming signal. The punctual correlator output signal serves as a check on the steering provided by the early-late gate correlators, and in an interference-free environment this signal can confirm the early-late gate derived position of the peak. Nevertheless, the punctual correlator cannot provide any steering information on which way to shift the local code. With no extraneous interfering signals, this early-late gate method works well.
The correlators 30 that are typically employed in a correlating receiver such as that of FIG. 2 are shown in more detail in FIG. 3. In the correlators of FIG. 3, the baseband signals from the mixing stage 22 are fed to respective sets of three mixers corresponding to early, punctual, and late. More specifically the in-phase baseband signals (I) on line 40 are fed to mixers 42, 44, 46 that also receive the local code from the local code generator 28. This local code is fed on line 48 to a distributor unit 50 that might consist of a shift register and that operates to sequentially distribute the local code input on line 48 to the three mixers 42, 44, 46. Similarly, the quadrature baseband signals (Q) on line 52 are fed to three mixers 54, 56, 58 corresponding to early, punctual, and late, and these three mixers 54, 56, 58, respectively also receive the local code from the distributor unit 50.
The extent of coincidence between the received signal (I and Q) and the local code in the three states as determined by the mixers 42, 44, 46 and 54, 56, 58 is accumulated over a number of cycles in six accumulators 60, 62, 64, 66, 68, 70 that are connected respectively to the above-noted mixers. Thus, early, punctual, and late data for both the in-phase and quadrature signals are fed to the microprocessor 32 where the appropriate timing calculations are performed.
The information from the early and late correlators is combined by the microprocessor 32 to generate a delay locked loop tracking signal that is used to close the code tracking loop. The information used to close the code tracking loop is taken from early and late comparisons of the local and incoming codes; therefore, the performance of this code tracking determines the accuracy of the time-of-arrival measurement, which is used to generate the pseudo-range. As described hereinabove, the time-of-arrival measurement is typically performed by comparing in time the local code, which ideally is tracking in perfect alignment with the transmitted code, with the time reference of the receiver.
As indicated below, such prior attempts to locate the peak in time of the autocorrelation function have not yielded entirely satisfactory results. Certain types of interfering signals can distort the autocorrelation function in a way that transfers errors into the tracking loop.
One troublesome kind of interfering signal is known as multipath. Multipath refers to the phenomenon in radio wave propagation wherein a receiver system is able to collect a so-called primary signal, representing the direct path of radio wave propagation between the source and the receiver, and also a plurality of secondary delayed versions of the direct signal, representing reflections of the direct signal from objects adjacent the direct path. This phenomenon is particularly acute in receiver systems with large coverage-area antennas, such as are commonly found in GPS systems. The magnitude of multipath error induced in GPS systems has been reported by J. M. Tranquilla et al., "GPS Multipath Field Observations at Land and Water Sites", Navigation Journal of the Institute of Navigation, Vol. 37, No. 4, 1990-91.
Signal reception at moving vehicles suffers from this phenomenon to an even greater extent. Multipath adversely affects FM reception, cellular mobile telephony, and other voice/data radio systems, whether or not they use spread spectrum digital modulations. In minimizing the adverse affects of multipath, the present invention is not limited to GPS systems and is completely applicable to these other applications, particularly where a spread spectrum technique is employed.
An example of a typical receiver system with multipath signals is shown in FIG. 6, in which a GPS patch antenna 90 receives not only direct path signals 92 from the satellite but also multipath reflected signals 94, 96. The multipath signals 94, 96 represent the signal from the satellite being reflected by a building 98 or some other large object 100, respectively, in the vicinity of the antenna 90.
These secondary signals 94, 96 have been found to have several important characteristics in relation to the primary signal 92. For example, the secondary signals always have a delayed time-of-arrival compared to the primary signal 92, because the secondary signals 94, 96 travel a slightly longer path than the primary signal 92. Furthermore, the respective amplitudes of the secondary signals 94, 96 are nearly always less than that of the primary signal 92, because the reflections are specular and attenuate the signal. In addition, the sense of polarization is reversed by the reflection, and the receiving antenna is not as sensitive to these cross-polarized multipath signals as to the primary signal. For correlation receivers using digital modulation, moreover, multipath code phase signals with delays greater than one chip are completely uncorrelated, and so can be ignored. Finally, the multipath signal distance, that is, the differential path length variation from the direct signal path, varies over the wavelength of both the carrier phase and the code phase. For example, in GPS the carrier phase wavelength is 19 cm (.lambda.=c/1575 MHz, where c=the speed of light), but the code phase wavelength is much longer, because the code frequency is as low as 1.023 MHz. As a result, the multipath carrier signal can either add to the desired direct signal or subtract from it.
These secondary signals have a deleterious effect on the accuracy of the correlation receiver. For example, because multipath signals are replicas of the incoming direct signal and its code, and the principal or primary autocorrelation function is generated by examining the incoming direct signal and the locally generated signal, each multipath signal generates its own secondary autocorrelation function with respect to the locally generated code. The secondary autocorrelation functions will always have lower maximum amplitudes than the correlated primary signal and will always be delayed relative to the primary signal. This phenomenon is illustrated by way of example in FIG. 7. The secondary or multipath signals generate a series of secondary autocorrelation functions 102, 104 and 106 that are smaller than and are delayed relative to the primary autocorrelation function 108. The primary and secondary autocorrelation functions add by superposition, and the resulting net autocorrelation function is shown at 110 in FIG. 7. It should be noted that because the carrier multipath signals can also subtract from the primary signal rather dramatic distortions can be induced in the direct signal autocorrelation function. Also, because of the rounded autocorrelation function curve due to the finite-bandwidth filters, the indicated peak of the composite autocorrelation function may move in time. Therefore, when using the conventional early-late gate method, such distortions translate directly into errors in the steering control or error function for the delay-locked loop and result in erroneous estimates of local code phase and therefore erroneous estimates of pseudo-range.
The adverse effects caused by these multipath signals is readily appreciated by comparing curves 80' and 82' of FIG. 8 with the respective curves 80 and 82 of FIG. 5. Such comparison will reveal that in FIG. 5 the true autocorrelation function peak occurs when the error is zero at 21 time units, whereas in FIG. 8 the peak is falsely indicated to occur by the zero crossing of the error function 80' at 22 time units. This error is introduced because the composite autocorrelation function has experienced a change in the apparent time that a predetermined and fixed amplitude level is intercepted by the early-late gate correlation method.
FIG. 9 illustrates a composite autocorrelation function with additive multipath distortions. In FIG. 9, the uncorrupted autocorrelation function has its arbitrary amplitude, early- and late-gate times identified at E and L, respectively. The delayed multipath signals cause the composite autocorrelation function 112 to have a larger voltage level at the true late-gate time point L (17 time units) as shown at 121. It takes a little time (about one time unit) for the composite autocorrelation function amplitude 112 to fall to the prescribed voltage at level L' normally associated with the true late time point L. As can be seen from FIG. 9, the corrupted autocorrelation function 112 falls to the predetermined level 0.6 at 18 time units. The timing error .DELTA.t is the time difference between L and L' which in this example is one time unit. While the magnitude of this error is small, it is still significant, and can therefore cause an error in the determination of the true time of signal arrival.
The absolute positioning accuracy of a GPS navigation solution is essentially limited by systemic errors in the satellites and other signal degrading influences such as doppler offsets, ionospheric effects and other causes. The GPS specification is such that users heretofore can get position fixes to a three-dimensional accuracy of about 100 meters. The magnitude of the multipath effect has a maximum of around 10 meters for coarse acquisition (C/A) code and 5 meters for precision (P) code. Therefore, in the navigation mode the multipath error is largely masked by other system errors. Differential and survey applications of the GPS remove satellite-based systemic effects by differencing between two co-located receivers, in which two receivers are located located at any arbitrary distance apart in order to get another set of equations relating to satellite uncertainties. In these applications the largest error source affecting the pseudo-range, after receiver and ionospheric effects have been removed, is caused by multipath signals. The objects that are the source of multipath error are dependent on the environment in which the receiver has to operate and are therefore difficult to predict. Previous attempts at substantially reducing the adverse effects of multipath by altering the antenna characteristics of a receiver have not provided a consistent solution and often are very expensive.
The differential survey method achieves a relatively high accuracy from measurements based on the carrier phase of the received signal. Because the wavelengths of the two GPS frequencies are small, 19 and 24 cm, respectively, accuracies of much less than 1 m are possible. The problem with a time-of-arrival measurement based on carrier phase is that the time-of-arrival of each carrier phase cycle is ambiguous, that is, one carrier cycle cannot be distinguished from any other carrier cycle. Previously proposed post-processing techniques typically have required that the two receivers remain stationary for about one hour, so that this carrier cycle ambiguity can be resolved. Thus, multipath-induced errors of 3 to 10 meters are a major stumbling block to decreasing measurement time.
It has also been proposed to use the pseudo-range to resolve the carrier phase ambiguity, thereby allowing the ambiguity to be resolved much faster. The ability of a receiver to utilize pseudo-range to resolve the carrier cycle ambiguity, however, is based on the quality of the pseudo-range measurement. Unfortunately, multipath signals bias the pseudo-range so that the wrong carrier cycle is often chosen when resolving the carrier cycle ambiguity. One possible technique to prevent choosing the wrong carrier cycle is to rely on the fact that the multipath may average out over a period of time. This technique, however, requires the multipath magnitude and direction to change substantially during this period of time. That is, it relies on extensive satellite or user movement.
Other proposed techniques to compensate multipath effects in receivers rely on more commonly understood channel equalization techniques, however, none of these techniques makes use of measurements from the autocorrelation function. Instead, these techniques rely on a less accurate form of channel characterization. For example, U.S. Pat. No. 4,829,543 describes a technique for correcting the multipath effects applicable to digital data demodulation in a Time-Division Multiple-Access (TDMA) data transmission system. TDMA systems operate with regularly repeated short-duration bursts of data and differ in that respect from the Global Positioning System, however, the method of the above-mentioned patent discloses a correlation receiver for this burst start-up sequence. As described in the above-mentioned patent, a known sequence of data bits is transmitted as part of a TDMA burst preamble from which the receiver derives an estimate of the correct time to start demodulation of the data. The system then re-estimates the time to start demodulation in the TDMA system at each time slot of TDMA transmission. While that approach has merit in improving demodulation by obtaining a new and better estimate of the carrier phase timing for each time slot of transmission, it does not address multipath effects on the burst preamble itself.
It can be recognized that removing multipath effects would avoid the delays inherent in the need for averaging periods and would essentially allow signal ambiguities to be resolved instantly. This would result in large time savings for surveyors. In other words, if multipath were removed surveyors would be able to obtain high-quality pseudo-range data in an instant.
Other applications can benefit by eliminating or reducing bit errors in the detection process caused by multipath.